Bård Skaflestad
dfd33d8973
Merge remote-tracking branch 'atgeirr/master'
2013-05-08 13:02:59 +02:00
Bård Skaflestad
ea1cdcd478
Assert non-empty state quantities.
...
This avoids generating a null-pointer dereference for
&s[0]
in case of s.empty().
2013-05-08 13:02:51 +02:00
Atgeirr Flø Rasmussen
a797ce5f32
Use subset() for simpler code.
2013-05-08 12:59:38 +02:00
Atgeirr Flø Rasmussen
1065dbd2f8
Add subset() free function.
...
Also add overload for UpwindSelector::select() taking constants (not AD variables).
2013-05-08 12:57:38 +02:00
Atgeirr Flø Rasmussen
9fd6678d99
Variable name change.
2013-05-08 12:55:25 +02:00
Bård Skaflestad
3ff5347ac9
Distinguish fluid from geology properties.
...
Most of class ImpesTPFAAD deals (or will deal) with fluid properties
with only a token nod to the geology--mostly in the form of derived
quantities such as transmissibility and pore volumes. There is no
need to conflate the roles of fluid interface and geology interface
for this purpose.
2013-05-08 09:39:48 +02:00
Bård Skaflestad
1b3e43068f
Include proper file header.
2013-05-08 00:19:25 +02:00
Bård Skaflestad
146b1223d2
Don't check input values. Defaults are fine.
...
While here, also return zero, which although not strictly needed,
nevertheless indicates to the reader that we're exiting successfully.
2013-05-08 00:17:35 +02:00
Bård Skaflestad
843499e071
Include <cassert> for assert() macro.
2013-05-08 00:11:21 +02:00
Bård Skaflestad
f3d8277d7a
Ignore 'ImpesTPFAAD' test program.
2013-05-07 21:41:02 +02:00
Bård Skaflestad
d0cb7d8a4c
Move buildAllCells() to anon. namespace.
...
This avoids diagnostics like "no previous declaration for ...".
2013-05-07 21:40:17 +02:00
Bård Skaflestad
cfb7c2916a
Merge remote-tracking branch 'bska/master'
2013-05-07 21:25:30 +02:00
Bård Skaflestad
083fef3c69
Merge remote-tracking branch 'atgeirr/master'
2013-05-07 21:23:18 +02:00
Bård Skaflestad
72fdc41caa
Add early foundations for compressible flow solver
...
This is highly incomplete and refactorings are likely.
2013-05-07 19:58:10 +02:00
Atgeirr Flø Rasmussen
8e687194ed
Bugfix: do not use unititialized transi_ if no gravity.
2013-05-07 13:32:59 +02:00
Bård Skaflestad
b4a49c5844
Merge remote-tracking branch 'atgeirr/master'
2013-05-07 13:28:08 +02:00
Atgeirr Flø Rasmussen
9a901b32cc
Merge remote-tracking branch 'bska/master'
2013-05-07 13:15:13 +02:00
Atgeirr Flø Rasmussen
c028d52f5a
Added gravity treatment to transport solver (untested).
2013-05-07 13:13:38 +02:00
Bård Skaflestad
2fc7c65118
Ignore simulators
2013-05-07 10:51:05 +02:00
Atgeirr Flø Rasmussen
748b3d3fdd
Minor simplification: make fw_face from fw_cell.
2013-05-07 10:08:09 +02:00
Atgeirr Flø Rasmussen
3888904e61
Removed unused code.
2013-05-07 10:07:25 +02:00
Atgeirr Flø Rasmussen
e217b70ee0
Add single-AD quantity select() method.
...
Also make comments into Doxygen comments.
2013-05-07 10:06:22 +02:00
Atgeirr Flø Rasmussen
f83c03de63
Updated check for umfpack for (opm-core) implicit solver.
2013-05-07 00:46:35 +02:00
Atgeirr Flø Rasmussen
82f3aba1af
Fix use of relperm derivatives w.r.t. saturation.
...
Also reinstate residual norm output.
2013-05-07 00:45:38 +02:00
Atgeirr Flø Rasmussen
c5811d141f
Added simulator program capable of running with AD transport solver.
...
Use the parameter 'transport_solver_type' to choose between 'reorder',
'implicit' and 'ad' (the new one).
2013-05-06 23:45:05 +02:00
Atgeirr Flø Rasmussen
9cc6ca368b
Added simulator class that can use AD transport solver.
...
This is based on a copy of SimulatorIncompTwophase, and should be refactored.
2013-05-06 23:41:41 +02:00
Atgeirr Flø Rasmussen
faad6157ec
Created transport solver using AD.
...
Only two-phase incompressible so far.
2013-05-06 23:41:04 +02:00
Bård Skaflestad
0058e34aec
printSparseMatrix(): Use InnerIterator rather than index
...
This way, we're (slightly) more agnostic to the inner storage scheme.
2013-05-06 14:09:48 +02:00
Bård Skaflestad
c9d65f8c28
Merge remote-tracking branch 'atgeirr/master'
2013-05-06 14:01:06 +02:00
Atgeirr Flø Rasmussen
24c3e807c3
Moved helpers to separate file.
2013-05-06 14:00:17 +02:00
Bård Skaflestad
7980f3f6cb
Suppress output from assignment in MATLAB.
2013-05-06 13:37:04 +02:00
Atgeirr Flø Rasmussen
18ec43f255
Use harmonic averaging of mobility for pressure eqns.
2013-05-06 13:28:30 +02:00
Atgeirr Flø Rasmussen
ea993f6647
Tighten tolerance for better fit with sim_simple.cpp.
2013-05-06 13:27:48 +02:00
Atgeirr Flø Rasmussen
1509773ec4
Minor refactoring of UpwindSelector.
...
Also rename -> UpwindSelectorTotalFlux.
2013-05-06 12:52:28 +02:00
Bård Skaflestad
e9a1aa2a99
Fix mismerge.
2013-05-06 12:31:13 +02:00
Bård Skaflestad
bc547f82c6
Merge remote-tracking branch 'atgeirr/master'
...
Conflicts:
sim_simple.cpp
2013-05-06 12:29:47 +02:00
Atgeirr Flø Rasmussen
8ffb2b0904
Added arithmetic operators taking constants.
...
Also simplified sim_simple.cpp by using new operators to get
rid of ADB::constant() usage.
2013-05-06 11:50:42 +02:00
Atgeirr Flø Rasmussen
2adbccd4f0
Treat source terms properly.
2013-05-06 11:25:55 +02:00
Atgeirr Flø Rasmussen
4366341971
Constified everything.
2013-05-06 11:11:32 +02:00
Atgeirr Flø Rasmussen
1aaec4b9a0
Simplified construction of total flux.
2013-05-06 10:45:29 +02:00
Atgeirr Flø Rasmussen
507914bd8f
Rename s00 -> sw0.
2013-05-06 10:29:47 +02:00
Atgeirr Flø Rasmussen
17cc1c5042
Capitalize type name.
2013-05-06 10:03:35 +02:00
Atgeirr Flø Rasmussen
11be220440
Give type name initial capital.
2013-05-06 09:53:16 +02:00
Atgeirr Flø Rasmussen
60b8e8c40d
Merge remote-tracking branch 'bska/master'
2013-05-06 09:49:00 +02:00
Bård Skaflestad
60509ca960
Output solution as a MATLAB function.
...
This way, we can run the example as
./sim_simple | sed -n '/s1 *=/,$p' > solution.m
to obtain a MATLAB function containing the 'solution'.
2013-05-06 09:43:48 +02:00
Atgeirr Flø Rasmussen
e59e5cc5f2
Unfinished version of Armadillo-using AD class added.
2013-05-06 09:43:26 +02:00
Bård Skaflestad
b06b0c99ca
Decrease amount of output and count iterations in the process.
...
Specifically, output the solution only at the end (in MATLAB
compatible format, for easy comparison) and annotate the diagnostic
output (i.e., cpu time and residual norm) with the iteration number.
2013-05-05 22:57:42 +02:00
Bård Skaflestad
056b7ae292
Make Darcy flux actually constant.
...
The definition from commit 6f22d10
included a non-zero derivative
which interfered with the automatic differentiation solver. Using a
fully constant Darcy flux enables using dt=150 while still computing
the correct solution.
While here, output the solution (s1) using more precision/digits for
comparison with 'sim_simple.m'.
2013-05-05 22:02:40 +02:00
Bård Skaflestad
6f22d10b06
Do real splitting based on total flux/fractional flow
...
We are now able to compute the correct solution with dt=0.5, but the
convergence rate is dismal.
2013-05-05 21:52:34 +02:00
Bård Skaflestad
e31101e80f
Incorporate transmissibility into water flux definition.
...
This means that we're computing the correct solution for dt=0.0005 (as
verified by 'sim_simple.m', but we're still failing larger time steps).
2013-05-05 16:44:51 +02:00