Bård Skaflestad
8b12d1506d
Add MATLAB-compatible output of ADB::M values.
...
This is mostly intended as an interim aid in development. Not enabled
if 'NDEBUG' is defined.
2013-05-03 23:45:13 +02:00
Bård Skaflestad
fc5a3f181e
Use S_o=1 as initial condition.
...
This is the case in 'sim_simple.cpp', too.
2013-05-03 20:28:36 +02:00
Bård Skaflestad
9b65338461
Add MRST function for 'sim_simple' development
2013-05-03 20:21:37 +02:00
Bård Skaflestad
d0866c39b5
Implement first cut at upwind-mobility weighting for transport
...
Specifically,
- Introduce a new class, UpwindSelector<Scalar> which provides a
selection service (method select()) to pick out a quantity across
an interface in the upwind direction.
Method select() is implemented only for the case of no
counter-current flow (i.e., no effects of gravity and/or capillary
pressure). The selector is affected through applying an explicit
sparse matrix to each quantity. This may be inefficient, but only
measurements will tell.
- Split function fluxFunc<ADB>() into two components,
phaseMobility<ADB>() and fluxFunc<ADB>(). The former computes
phase mobilities (per cell) for water and oil in a subset of the
grid cells and the latter computes the flux function (for water,
i.e., the first phase) based on a (2-) vector of phase
mobilities--either per cell or per internal interface.
- Compute explicit phase mobilities (per cell) in the non-linear
loop before employing the upwind selector to pick out proper
upwind mobilities per (internal) interface to define the quantity
'fw_face' which was previously computed by an arithmetic average.
2013-05-03 17:48:33 +02:00
Bård Skaflestad
bd240a31cb
Declare operator?() as 'const'.
...
None of operator+(), operator-(), operator*() or operator/() modify
their object. These methods are thus naturally declared as 'const'.
2013-05-03 16:24:20 +02:00
Bård Skaflestad
0a43fe68dd
Complete Addition tests.
2013-05-03 12:53:51 +02:00
Bård Skaflestad
d6cfe8ab6f
Clarify diagnostic message in pressure solve.
...
Word missing in commit a95fbf0
.
2013-05-03 12:39:24 +02:00
Bård Skaflestad
a95fbf0e8e
Terminate process in case of factorisation/solution failure.
...
Provide moderately informative diagnostic message in this case.
2013-05-03 12:33:48 +02:00
Bård Skaflestad
dddb30b5a5
Use regularised Jacobian when solving pressure system.
2013-05-03 12:26:02 +02:00
Bård Skaflestad
cd9c9d5cde
Don't require initialiser lists.
...
These were introduced into GCC as recently as edition 4.7 . Ubuntu
10.04 LTS features GCC 4.4 only.
2013-05-03 11:28:08 +02:00
Bård Skaflestad
e4cbc2c7f2
Merge remote-tracking branch 'atgeirr/master'
2013-05-03 11:08:37 +02:00
Bård Skaflestad
4ffea931e3
Add test for addition of ADB::variable()s.
2013-05-03 11:08:06 +02:00
Atgeirr Flø Rasmussen
9deca26fae
Merge remote-tracking branch 'bska/master'
2013-05-03 11:01:46 +02:00
Atgeirr Flø Rasmussen
7e240913a4
Now doing a single transport step as well.
2013-05-03 11:00:17 +02:00
Bård Skaflestad
9e55006229
Implement a custom comparator for Eigen::SparseMatrix<double>
...
Use it to simplify the 'FunctionInitialisation' test.
2013-05-03 10:46:46 +02:00
Bård Skaflestad
6794577301
Add stub test for ADB::operator+()
...
Doesn't actually test anything at the moment.
2013-05-02 18:00:36 +02:00
Bård Skaflestad
49396b6079
Don't include <iostream> in tester.
...
It is not needed and was only added for convenience during test
development.
2013-05-02 15:40:59 +02:00
Bård Skaflestad
b1b245ccab
Don't include <iostream> in public header.
2013-05-02 15:16:48 +02:00
Bård Skaflestad
b6834de662
Don't rely on header pollution to provide <iostream>
2013-05-02 15:16:21 +02:00
Bård Skaflestad
2b5d49bea9
Merge remote-tracking branch 'atgeirr/master'
2013-05-02 14:48:33 +02:00
Bård Skaflestad
e15c389daf
Rename typedef ADV -> ADB to reflect reality.
...
We're working with *Block*s here.
2013-05-02 13:57:05 +02:00
Atgeirr Flø Rasmussen
62e321d069
Moved topological matrix operators into separate struct.
2013-05-02 13:51:03 +02:00
Bård Skaflestad
567d3a80b3
Add various initialisation tests using Boost.Test .
2013-05-02 13:39:33 +02:00
Bård Skaflestad
36f2dd6403
Merge remote-tracking branch 'atgeirr/master'
2013-05-02 11:28:32 +02:00
Atgeirr Flø Rasmussen
9a9e6fb7b7
Fix slow setup of cdiff etc. Also add timing, make case 3d.
2013-05-02 11:27:02 +02:00
Atgeirr Flø Rasmussen
63aae9a232
Avoid unused variable warning in release build.
2013-05-02 11:26:06 +02:00
Bård Skaflestad
a496c2d668
Merge remote-tracking branch 'atgeirr/master'
2013-05-02 10:52:36 +02:00
Atgeirr Flø Rasmussen
42511ad2e3
Removed unused variables sw and so.
2013-05-02 09:27:58 +02:00
Atgeirr Flø Rasmussen
169557111d
Simple simulator-like test program added.
...
So far it only computes a single pressure solution.
2013-05-02 08:51:36 +02:00
Bård Skaflestad
3c00b0528a
Sort list of ignored executables for easy reference
2013-05-02 00:35:40 +02:00
Atgeirr Flø Rasmussen
8e7ae33724
Fixed wrong assert() in operator*(sparse matrix, AD block).
...
Also removed unnecessary debug output (that was wrong anyway).
2013-05-01 21:25:50 +02:00
Atgeirr Flø Rasmussen
f85e74bcff
Added operator* that allows A*x for sparse A and x an AD object.
2013-05-01 09:05:53 +02:00
Atgeirr Flø Rasmussen
92f56f6d92
Removed variable index from ForwardBlock class.
...
Feature was in the way of having (for example) face variables depending on cell variables.
2013-05-01 09:03:56 +02:00
Bård Skaflestad
633de102c2
Fix misprint in operator*() chain rule.
2013-04-30 22:51:29 +02:00
Atgeirr Flø Rasmussen
30c8acfaf4
Updated ignore patterns.
2013-04-30 20:29:57 +02:00
Atgeirr Flø Rasmussen
d046b9e97a
Completed simple block AD class.
2013-04-30 20:28:32 +02:00
Atgeirr Flø Rasmussen
d518b5c787
Initial work in progress on block AD class.
2013-04-30 16:15:40 +02:00
Atgeirr Flø Rasmussen
069e878b0e
Completed basic version of AD vector class and test.
2013-04-30 16:15:00 +02:00
Bård Skaflestad
6ed2b129cb
Implement constant() and variable() in terms of function()
...
Specifically,
- A constant is a function with zero derivative
- A variable is a function with unit derivative with respect to
itself.
2013-04-30 13:41:13 +02:00
Bård Skaflestad
70996fb195
Remove two instances of EOL whitespace.
2013-04-30 13:35:34 +02:00
Bård Skaflestad
86eb29b4c3
variable(): Avoid memory overhead of identity constructor.
2013-04-30 12:48:02 +02:00
Bård Skaflestad
c276592ca5
Don't #include <iostream>. It's not needed.
2013-04-30 12:37:08 +02:00
Bård Skaflestad
06d2c078fa
Use documented include statements for Eigen
2013-04-30 12:36:43 +02:00
Bård Skaflestad
134b9b1a7f
Readjust whitespace to original conventions.
2013-04-30 11:52:03 +02:00
Atgeirr Flø Rasmussen
e2d8b77ec5
Initial vector AD type experimentation.
2013-04-30 11:48:04 +02:00
Atgeirr Flø Rasmussen
0bf693e8c0
Merge remote-tracking branch 'bska/master'
2013-04-30 11:07:13 +02:00
Atgeirr Flø Rasmussen
42cdfa27a0
Use named constructor pattern.
...
Made AutoDiff::Forward constructor private.
Added static methods constant(), variable(x) and function(x, dx).
2013-04-30 11:05:59 +02:00
Bård Skaflestad
6319c428a3
Don't return values from update operators.
...
Statements like
a = b += c
make no sense
2013-04-30 10:47:00 +02:00
Bård Skaflestad
0ff3b721ee
Rename members to better reflect purpose.
...
Specifically,
- x_ -> val_
- dx_ -> der_
2013-04-30 09:25:37 +02:00
Bård Skaflestad
e17447d6cd
Add further test cases
...
- Polynomials (including mixed mode arithmetic)
- Cosines (including mixed mode arithmethic)
- Square roots (including mixed mode arithmetic)
2013-04-30 00:08:02 +02:00