Halvor M. Nilsen
0a1fc38fd0
checking after changing back to grid interface euler in traits and adding boundary conditions for fixed, the code finialy does something
2011-10-13 10:26:51 +02:00
Bård Skaflestad
8df4e23f92
Support compilers for which ::std::array<> isn't available.
2011-10-12 20:50:53 +02:00
Halvor M. Nilsen
9610763e07
changes the code compile: runs: and give wrong results
2011-10-12 16:10:51 +02:00
Halvor M. Nilsen
27cecaabef
changes the code compile: runs: and give wrong results
2011-10-12 16:10:51 +02:00
Halvor M. Nilsen
42e70c78d4
mearge from upstream
2011-10-12 13:23:20 +02:00
Halvor M. Nilsen
e5e18a8b76
changes to try to make upscaling work with implicit solver
2011-10-12 13:18:48 +02:00
Halvor M. Nilsen
7c3c8ac3e7
changes to try to make upscaling work with implicit solver
2011-10-12 13:18:48 +02:00
Bård Skaflestad
2bc3a1d217
Remove <array> header that is no longer needed.
2011-10-11 21:17:22 +02:00
Bård Skaflestad
120153bb1f
The individual sys.vector()s aren't necesserily std::vector<>s. Adjust.
...
While here, reduce dependency on c++11 by substituting ordinary arrays
for std::array<>s.
2011-10-11 18:00:49 +02:00
Halvor M. Nilsen
f5fa61eb13
definitions to use opmtransport in dune-upscaling
2011-10-11 14:55:11 +02:00
Halvor M. Nilsen
ee62a57dc7
added EulerUpstreamImplicit, added implicit traits: does notthing now
2011-10-11 11:42:40 +02:00
Bård Skaflestad
35a8bf54bc
Spell 'libcpgpreprocess' correctly.
2011-10-07 12:01:51 +02:00
Bård Skaflestad
939f231457
huild a convenience library for consumption by libdunecornerpoint.la .
...
This facilitates building consumers of libdunecornerpoint.la using CMake
(and Qt Creator).
2011-10-07 11:51:17 +02:00
Halvor M. Nilsen
dc1b9e4b50
Move 'common' directory into 'dune'.
2011-10-07 10:54:25 +02:00
Bård Skaflestad
50a4869f7a
Remove an unused variable.
2011-10-06 18:14:48 +02:00
Bård Skaflestad
ee43437183
Increase problem size, and report solver meta data upon completion.
2011-10-06 17:25:13 +02:00
Bård Skaflestad
c7efb7d775
Use 0.5 as an initial guess for the saturation at next time level.
...
This appears to be more stable in limited testing on slightly
non-linear problems.
2011-10-06 17:24:32 +02:00
Bård Skaflestad
da683da206
Add a simple saturation dump using vector_write() from OPMPressure.
2011-10-06 15:12:43 +02:00
Bård Skaflestad
c56215bdcd
Use control parameters that don't lead to singular matrices.
2011-10-06 15:07:00 +02:00
Bård Skaflestad
b0e35ca07a
Honour ImplicitTransport requirement introduced in cset af1c979d2947.
...
We need to define a coefficient matrix clearing operator.
2011-10-06 15:02:15 +02:00
Bård Skaflestad
b867283f05
Fill semantic hole in initIteration(). Store the current sat-change.
...
This is needed to implement the accumulation term of the residual.
2011-10-06 14:57:46 +02:00
Bård Skaflestad
255a0cf6ee
Clear coefficient matrix and residual between assemblies.
...
Request that the user specify a suitable operator for clearing the
coefficient matrix, and call it just prior to assemble().
2011-10-06 14:54:02 +02:00
Bård Skaflestad
711e59df4c
Insert glue for zeroing the coefficient matrix between Jacobian assemblies.
...
Specifically, request availability of a read/write access to the
Jacobian matrix, and a means to zeroing the elements of an arbitrary
matrix type (unimplemented 'MatrixZero' template class).
2011-10-06 14:51:51 +02:00
Bård Skaflestad
ff8518e55e
Restore build assertion that is once more valid following cset dd4a755bc683.
...
Also, implement a function for zeroing a CSRMatrix, and create a
read/write reference to the underlying matrix. Needed for clearing
the coefficient matrix between each Jacobian assembly.
2011-10-06 14:48:51 +02:00
Bård Skaflestad
7f766149b3
Order parameters correctly.
...
If the cell were a type other than a primitive 'int', this would have
been caught by the compiler...
2011-10-06 10:27:35 +02:00
Bård Skaflestad
a5220bcd29
Build entire system structure once, at createSystem() time.
...
This leads to two grid passes if the problem is linear, but saves
rebuilding the same structure at every Newton iteration.
2011-10-06 00:34:04 +02:00
Bård Skaflestad
230bc99cee
Remove another incorrect assertion relating to system size.
2011-10-06 00:31:40 +02:00
Bård Skaflestad
4df2677024
Remove an incorrect assertion.
...
The statement is only correct during the very first grid pass whilst
constructing the matrix. Source terms are added later, in arbitrary
order, and we cannot know (in assembleBlock) what (block) rows are
affected by such contributions.
2011-10-06 00:05:04 +02:00
Bård Skaflestad
72f81cf574
Hook 'examples' up to build.
2011-10-05 20:09:29 +02:00
Bård Skaflestad
5202631f34
Move to reference-storing rather than private inheritance model.
...
Fix various build problems while here.
Finally, add default Newton-control parameters to the NRControl structure.
2011-10-05 20:09:15 +02:00
Bård Skaflestad
72953ac126
Add an example program demonstrating the use of the ImplicitTransport solver.
...
Building contingent upon availability of both OPMPressure *and* UMFPACK.
2011-10-05 20:06:03 +02:00
Bård Skaflestad
b1f35c50b1
Add a POD representation of transport problem source terms.
2011-10-05 20:04:21 +02:00
Bård Skaflestad
8fa1eecce6
Import Jostein R. Natvig's implementation of a Cartesian grid.
2011-10-05 20:03:43 +02:00
Bård Skaflestad
f1c44286cc
Import glue code for calling into UMFPACK using an OPMPressure CSRMatrix.
2011-10-05 20:03:07 +02:00
Bård Skaflestad
903c959252
Add an overload suited to pointer arguments (primitive types).
2011-10-05 19:54:12 +02:00
Bård Skaflestad
f72be4bf80
Import std::abs() overloads.
2011-10-05 19:53:13 +02:00
Bård Skaflestad
77894bdf88
Expose zero() method in VectorZero functor.
2011-10-05 19:52:11 +02:00
Bård Skaflestad
8256d4a248
Move tests to a separate directory, 'tests'.
...
Add a test to demonstrate features of the 'JacobianSystem'.
2011-10-05 10:23:49 +02:00
Bård Skaflestad
1e9a26c759
Catch up to changing interface of JacobianSystem class.
...
While here, allow user to override policies for negating a vector and
zeroing the vector. Moreover, the JacobianSystem no longer assumes
responsibility for solving the Jacobian system of linear equations, so
accept a linear solver parameter in solve().
2011-10-04 21:31:35 +02:00
Bård Skaflestad
b0c91979a3
Catch up to changing interface of JacobianSystem class.
2011-10-04 21:29:15 +02:00
Bård Skaflestad
321f84b4f6
Separate handling of NR vectors out to new class NewtonVectorCollection.
...
The class is parametrised on policies for setting the size of
individual vectors, adding two vectors, and assembling local
contributions into the residual vector.
Provide default implementations of these policies, suitable for
base-vectors that implement (some of) the std::vector<T> interface.
2011-10-04 21:27:57 +02:00
Bård Skaflestad
5207b20058
Add a few simple norm implementation based on accumulation.
2011-10-04 21:23:56 +02:00
Bård Skaflestad
4477af094d
Fix build.
2011-10-04 21:22:54 +02:00
Bård Skaflestad
0d43b21f9a
Work around different 'const' rules in C.
2011-10-04 21:21:30 +02:00
Bård Skaflestad
5f475fe5cf
Properly close namespaces...
2011-10-04 19:54:32 +02:00
Bård Skaflestad
9ce211f058
Don't reference unneeded interfaces.
2011-10-04 10:10:44 +02:00
Bård Skaflestad
2b301b448c
Add a block assembler and solver for OPMPressure's CSRMatrix.
...
Solver based on UMFPACK.
2011-10-03 18:17:58 +02:00
Bård Skaflestad
60bdba1433
Add detection and optional support for UMFPACK and OPMPressure.
2011-10-03 18:16:57 +02:00
Bård Skaflestad
54b59bcb98
Catch up to renaming row_structure_ -> connections_ .
2011-10-03 17:15:00 +02:00
Bård Skaflestad
d9aa8888ea
Relinquish row/nnz control to linsys assembler.
...
Pass the scalar number of rows and non-zeros into .setSize() along
with the number of degrees of freedom per cell. This allows the
assembler to impose block structure in an optimal way for each
particular type of linear system.
2011-10-03 12:47:33 +02:00