Atgeirr Flø Rasmussen
efa50c3640
Check for multiple solvers before trying to use them.
2023-09-01 13:18:09 +02:00
Franz Georg Fuchs
6ee90b3f8f
Support for multiple linear solvers.
2023-09-01 13:18:06 +02:00
Arne Morten Kvarving
290c783f83
SimulatorFullyImplicitBlackoilEbos: remove unused member
2023-08-16 08:58:08 +02:00
Arne Morten Kvarving
82ba00b4ba
remove accidentially left-over member
2023-08-04 15:34:05 +02:00
Arne Morten Kvarving
8e7de83218
BlackoilModelEbos: put Nldd solver in separate class
2023-07-05 13:40:13 +02:00
Arne Morten Kvarving
241c1d3279
BlackoilModelEbos: use value in localAccumulatedReports
...
cheap to copy and aids refactoring
2023-07-05 10:26:14 +02:00
Arne Morten Kvarving
184c6128cd
BlackoilModelEbos: add acccessor for component names
2023-07-05 10:26:14 +02:00
Arne Morten Kvarving
0c8446eed3
BlackoilModelEbos: add acccessor for model parameters
2023-07-05 10:26:14 +02:00
Arne Morten Kvarving
6f726049ce
BlackoilModelEbos: add accessor to linear solve setup time
...
to allow for external usage
2023-07-05 09:38:08 +02:00
Arne Morten Kvarving
cee8dc4c6e
BlackoilModelEbos: make getMaxCoeff public
...
to make it possible to call externally
2023-07-05 09:38:08 +02:00
Arne Morten Kvarving
8fc2b83948
BlackoilModelEbos: make initialLinearization public
...
to make it possible to call externally
2023-07-05 09:38:08 +02:00
Arne Morten Kvarving
4d35ec26de
isNumericalAquiferCell: put in separate struct for easier reuse
2023-07-04 14:56:10 +02:00
Arne Morten Kvarving
c6cd74270b
BlackoilModelEbos: enumerate solver approach for NLDD
...
adds command line validation and allows us to remove an assert on
user provided data
2023-07-03 15:51:07 +02:00
Arne Morten Kvarving
8eb5e173c3
BlackoilModelEbos: put Gauss-Seidel NLDD solve in separate method
...
increases readability of nonlinearIterationNldd
2023-07-03 14:53:12 +02:00
Arne Morten Kvarving
faa4bb25d7
BlackoilModelEbos: put jacobi NLDD solve in separate method
...
increases readability of nonlinearIterationNldd
2023-07-03 14:53:12 +02:00
Arne Morten Kvarving
cf6697b630
BlackoilModelEbos: make domain ordering measure configurable
2023-07-03 12:24:41 +02:00
Arne Morten Kvarving
e17b696a7e
BlackoilModelEbos: put selection of domain order in separate method
...
to increase readability of nonlinearIterationNldd code
2023-07-03 12:24:41 +02:00
Arne Morten Kvarving
c7f9d2d357
put initial linearization in separate method
...
to share code between newton and nldd
2023-07-03 10:51:10 +02:00
Arne Morten Kvarving
3656196684
put calculation of max coefficient in separate method
...
to reduce code duplication
2023-07-03 10:51:10 +02:00
Bård Skaflestad
8c6a92356f
Merge pull request #4621 from vkip/use_mb_from_tuning
...
Use mass balance limit (XXXMBE) from TUNING with --enable-tuning=true
2023-06-30 13:04:49 +02:00
Arne Morten Kvarving
64ce4a206e
Merge pull request #4729 from akva2/partitioncells_reorg
...
PartitionCells: move all related code to compile unit
2023-06-30 13:02:20 +02:00
Arne Morten Kvarving
e8f04eec68
changed: move all partitionCells code to partitionCells.cpp
2023-06-30 12:14:11 +02:00
Arne Morten Kvarving
35bb329022
put BlackoilModelEbos::ComponentName in separate header
...
more tidy and potentially easier to reuse
2023-06-30 11:18:27 +02:00
Arne Morten Kvarving
4201d94241
BlackoilModelEbos: remove unused includes
2023-06-30 09:53:59 +02:00
Arne Morten Kvarving
034f20c37e
BlackoilModelEbos: include tuple
2023-06-30 09:53:50 +02:00
Arne Morten Kvarving
e008c76a80
BlackoilModelEbos: output error message using OpmLog
2023-06-30 08:57:14 +02:00
Arne Morten Kvarving
e88c44eaaf
BlackoilModelEbos: remove unused member function
2023-06-30 08:57:14 +02:00
Arne Morten Kvarving
0a670f3694
BlackoilModelEbos: use constexpr where appropriate
2023-06-30 08:57:14 +02:00
Arne Morten Kvarving
5874377937
BlackoilModelEbos: prefer using
2023-06-30 08:57:14 +02:00
Arne Morten Kvarving
b29f24c9be
BlackoilModelEbos: use Parallel::Communication type alias
2023-06-30 08:57:14 +02:00
Vegard Kippe
65f73f5462
Chaning to new TUNING semantics (opm-common pr3522)
2023-06-29 15:13:10 +02:00
Vegard Kippe
029e3c8616
Removing some whitespace
2023-06-29 15:13:10 +02:00
Vegard Kippe
462ec3153d
Use mass balance limit from TUNING
2023-06-29 15:12:51 +02:00
Atgeirr Flø Rasmussen
98b7f4d986
Fix header order and remove dead code.
2023-06-26 17:37:13 +02:00
Atgeirr Flø Rasmussen
424ee2174d
Make sure micp and energy fixes are not discarded.
...
Also do not change getting intensive quantities in convergence
checks.
2023-06-26 11:18:57 +02:00
Atgeirr Flø Rasmussen
15c1e38533
Silence unused variable/parameter warnings.
2023-06-23 16:24:18 +02:00
Atgeirr Flø Rasmussen
cbfe25d0f0
Add NLDD nonlinear solver option.
2023-06-23 16:24:18 +02:00
Atgeirr Flø Rasmussen
7f3635145b
Make solver object a member of SimulatorFullyImplicitBlackoilEbos.
2023-06-14 10:01:53 +02:00
Arne Morten Kvarving
f2983ac6af
minimum dune version required is now 2.7
2023-04-12 09:41:23 +02:00
hnil
dedda84a2b
fixed review comments
2023-03-22 19:17:22 +01:00
hnil
e1c4a73c43
-- removed double evaluation of processLocalData
...
-- separated fluid in place work from other cell based data
-- added some timing macros for better preformance overview
2023-03-22 11:55:37 +01:00
Arne Morten Kvarving
ebd53ee72d
move StepReport into ConvergenceReport.hpp
...
there is no reason for this to be typetag dependent
2023-03-02 12:37:13 +01:00
hnil
fd98d8ea27
added timing blocks to most important parts
2023-02-15 09:41:37 +01:00
Arne Morten Kvarving
3745a4c02d
clean up Units.hpp includes
...
include it where required instead of relying on other
headers to pull it in
2023-01-16 12:21:29 +01:00
Bård Skaflestad
858ca8fa49
Output Non-Linear Convergence to Separate File if Requested
...
This commit enables outputting non-linear convergence metrics, i.e.,
the MB and CNV values, per phase, for each non-linear iteration in
each timestep. If the user passes the option value "iterations" to
the --extra-convergence-output command line option, this commit will
create a new output file, CASE.INFOITER, that holds
* report step
* time step within that report step
* elapsed time
* MB and CNV values per phase
* well convergence status
for each non-linear iteration.
We use an asynchronous file writing procedure and confer ownership
of the report step's unprocessed convergence reports to this
procedure just before the end of
SimulatorFullyImplicitBlackoilEbos::runStep()
At that point, the convergence reports are about to go out of scope.
The asynchronous protocol uses a dedicated queue of output requests,
class ConvergenceReportQueue, into which the producer-i.e., member
function runStep()-inserts new convergence reports and from which
the output thread, ConvergenceOutputThread::writeASynchronous(),
retrieves those requests before writing the file data.
2022-12-20 10:14:13 +01:00
Arne Morten Kvarving
f17a90170d
use exception classes from opm-common
2022-12-13 12:56:13 +01:00
Bård Skaflestad
3c63a7aa6d
Capture Timestep's Non-Linear Convergence History
...
This enables outputting a formatted record of the limiting MB and
CNV quantities as time and non-linear iterations progress. This, in
turn, is intended for diagnostic and analysis purposes and will not
be output unless specifically requested.
In particular, add a new type,
ConvergenceReport::ReservoirConvergenceMetric
which captures the convergence metric type (MB or CNV) along with
the associate phase and numerical value of the convergence metric.
We add a vector of these convergence metric objects as a new data
member of the ConvergenceReport.
Finally, foreshadowing the intended use case, also store the report
time in the ConvergenceReport object.
2022-12-09 16:22:36 +01:00
Bård Skaflestad
149ae34dd2
Capture Component Names in Independent Datastructure
...
This is in preparation of enabling separate convergence output
for diagnostic purposes.
2022-12-09 09:41:22 +01:00
Tor Harald Sandve
bdb82c2f3d
Rename PrimaryVarsMeaning{Water/Gas/Pressure/Brine} to {Water/Gas/Pressure/Brine}Meaning
2022-11-25 13:03:26 +01:00
Tor Harald Sandve
22d27bdf5f
Adapt to change of enum to enum class for primary variable meaning
2022-11-25 10:53:48 +01:00