Commit Graph

1108 Commits

Author SHA1 Message Date
Bård Skaflestad
02555ac504
Merge pull request #5626 from vkip/rptsched_wells
Support RPTSCHED WELLS=N
2024-09-25 09:27:58 +02:00
Vegard Kippe
2c2b0bc930 Use the correct rstep for well reports 2024-09-24 16:27:18 +02:00
Bård Skaflestad
a38704ecb0 Implement 'RFIP' and 'SFIP' Mnemonics For RPTRST
The 'FIP' mnemonic continues to be an alias for 'SFIP' in the
current implementation, and the output layer will create the 'SFIP'
arrays as copies of 'FIP' if passed only the 'FIP' arrays.

To this end, make 'outputFipRestart_' into a structure that tracks
which of the *FIP mnemonics have been requested, and insert the
pertinent solution arrays into the data::Solution object when
needed.
2024-09-24 13:38:56 +02:00
Bård Skaflestad
096e0e11c9 Initialise Output Module's Boolean Flags
While here, also insert a few blank lines in the copyright statement
to make it more in line with the rest of opm-simulators.
2024-09-24 13:38:56 +02:00
Vegard Kippe
5745f92b08 Avoid unused variable warning 2024-09-24 13:00:34 +02:00
Vegard Kippe
6ba9dc086c Support RPTSCHED WELLS=N 2024-09-24 13:00:34 +02:00
Kai Bao
68503eb9b2 xmfData to ymfData, typo correction 2024-09-23 10:17:18 +02:00
Arne Morten Kvarving
048ae50255 add missing overrides 2024-09-17 07:52:10 +02:00
Arne Morten Kvarving
ea8ee36f51 FlowProblem: add virtual dtor 2024-09-17 07:51:56 +02:00
Bård Skaflestad
32886f6cb4
Merge pull request #5612 from akva2/more_tus
Split out vtk module parameters to separate translation units
2024-09-16 15:47:30 +02:00
Arne Morten Kvarving
1b19fa02f4 newtonmethodparameters.hh: rename to newtonmethodparams.hpp 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
e093101d1c vtktemperaturemodule.hh: rename to vtktemperaturemodule.hpp 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
be4026ecce vtkprimaryvarsmodule.hh: rename to vtkprimaryvarsmodule.hpp 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
a895678c30 vtkmultiphasemodule.hh: rename to vtkmultiphasemodule.hpp 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
6ab0fbe6c2 vtkdiffusionmodule.hh: rename to vtkdiffusionmodule.hpp 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
c7c15fbe23 vtkcompositionmodule.hh: rename to vtkcompositionmodule.hpp 2024-09-16 15:17:50 +02:00
Arne Morten Kvarving
6a1b33c793 vtkblackoilmodule.hh: rename to vtkblackoilmodule.hpp 2024-09-16 15:17:50 +02:00
Vegard Kippe
18a8b5bb90 Add energy balance tolerances + use standard tolerances as defaults for now 2024-09-16 14:39:33 +02:00
Vegard Kippe
33b72a9722 Rebased to current master. TODO: pvSplit with energy 2024-09-16 14:39:33 +02:00
Arne Morten Kvarving
6d8b5b204b fixed: make sure we have valid indices in readInitialCondition_
quells warnings building flowexp_comp
2024-09-12 10:56:44 +02:00
Kai Bao
2c75adf165 adding a compositional simulator
flowexp_comp
2024-09-11 14:58:33 +02:00
Kai Bao
85513754bc splitting Blackoil related to FlowProblemBlackoil
so FlowProblem can be used for compositional or other setting
2024-09-11 14:58:14 +02:00
Arne Morten Kvarving
2a9d81227b changed: subclass Main for python
move the initFlowBlackoil method into it

in particular we then avoid the FlowMainType type alias
in Main.hpp
2024-09-09 14:28:20 +02:00
Arne Morten Kvarving
fc96e9da75 Main: mark some members protected
to enable subclassing
2024-09-09 14:28:11 +02:00
Arne Morten Kvarving
4967323c29 Parameters::printValues: drop default parameter for stream 2024-09-05 10:08:09 +02:00
Arne Morten Kvarving
3161b4f547 ParameterSystem: add function to query if registration is open 2024-09-05 10:07:40 +02:00
Arne Morten Kvarving
05f01bf819 parametersystem.hh: rename to .hpp 2024-09-05 10:07:40 +02:00
Arne Morten Kvarving
2bdab9e518 parametersystem: pass add callback for adding keys to positional parameter handler
this way the backing store for the parameters can be an implementation
detail of the parameter system
2024-09-05 10:07:40 +02:00
Bård Skaflestad
329ad50e59 Don't Count Cells Unless Needed
If the user chooses a specific number of NLDD domains, there is no
need to compute the default number of domains based on a specific
target number of cells per domain.  Defer the, potentially costly,
calculation to when we know we need it.

While here, also split/rejoin a couple of long lines.
2024-09-05 09:45:16 +02:00
Arne Morten Kvarving
d35d80427e tasklets.hh: rename to tasklets.hpp 2024-09-04 12:06:21 +02:00
Arne Morten Kvarving
e7a9c4cd21 threadmanager: remove unused typetag template parameter
and move implementation to a translation unit
2024-09-04 12:06:21 +02:00
Arne Morten Kvarving
55a0a6da54 blackoilsolventparams: introduce translation unit
move code for loading parameters from eclipse state into it
2024-09-04 11:17:40 +02:00
Arne Morten Kvarving
3aed1aa7f9 blackoilpolymerparams: introduce translation unit
move code for loading parameters from eclipse state into it
2024-09-04 11:17:40 +02:00
Arne Morten Kvarving
5a567de3e2 blackoilmicpparams: introduce translation unit
move code for loading parameters from eclipse state into it
2024-09-04 09:17:26 +02:00
Arne Morten Kvarving
f6d3893093 blackoilfoamparams: introduce translation unit
move code for loading parameters from eclipse state into it
2024-09-04 09:13:02 +02:00
Arne Morten Kvarving
a04d9fdd00 blackoilextboparams: introduce translation unit
move code for loading parameters from eclipse state into it
2024-09-04 09:08:12 +02:00
Arne Morten Kvarving
a51e13c244 blackoilbrineparams: introduce translation unit
move code for loading parameters from eclipse state into it
2024-09-04 09:02:17 +02:00
Bård Skaflestad
a73cb6ee93 Fix DRVDT Initialisation Conditional
It does not make sense to pass

    episodeIdx && maxDRv_.empty()

as an argument to drvdtActive().
2024-08-30 15:16:46 +02:00
Atgeirr Flø Rasmussen
58ce7cbc7c
Merge pull request #5556 from akva2/float_support5
Float support in simulators: Batch 5
2024-08-30 15:06:35 +02:00
Atgeirr Flø Rasmussen
9dd54fb11a Avoid capturing structured bindings.
This is an error before C++20, and clang refuses it.
2024-08-30 13:17:07 +02:00
Kai Bao
f47d00c9d7
Merge pull request #5236 from hnil/no_early_exit_zero_flux
Avoid deleting derivative i.e. getting "wrong" matrix in case of zero…
2024-08-29 14:46:09 +02:00
Vegard Kippe
eb869f211f Avoid time step dependent jump in RS after restart 2024-08-28 16:28:51 +02:00
Vegard Kippe
0b6dd93903 Avoid negative time step size after restart (trouble for DRSDT init) 2024-08-28 15:04:15 +02:00
Vegard Kippe
0485bfb47f Set correct episode before initial call to invalidateAndUpdateIntensiveQuantities 2024-08-28 15:04:15 +02:00
Vegard Kippe
8f45cbe4c4 Properly initialize mixing controls after restart. 2024-08-28 15:04:15 +02:00
Vegard Kippe
cc08df226e Update after merging #5527 2024-08-28 15:04:15 +02:00
Bård Skaflestad
9dca8256f3 Split Request Writing Into Stages
This commit introduces helper functions for each individual part of
a convergence report record in the INFOITER file.  In particular, we
create helpers for

  - Time related columns (report step, time step, time &c)
  - CNV pore-volume histogram columns
  - Reservoir convergence metrics (CNV and MB values per phase)
  - Well convergence metrics

This makes the body of the main loop in writeConvergenceRequest()
slightly easier to read and means that we can apply some additional
logic to the CNV pore-volume histograms if the number of values does
not match the expected 3 per type.  In that case we output sentinel
values (e.g., NaN and -1) to signify that the corresponding pieces
of information are unavailable.
2024-08-27 10:50:06 +02:00
Bård Skaflestad
68cc5d917e Output CNV Histogram to INFOITER File
This commit tracks the number of cells and their associate fraction
of the model's "eligible" pore volume (total pore volume in
numerical aquifers subtracted from the model's total pore volume) in
three distinct categories as a function of the non-linear iteration
number:

  - 0: MAX_p { CNV_p } <= strict CNV tolerance
  - 1: MAX_p { CNV_p } \in (strict, relaxed]
  - 2: MAX_p { CNV_p } > relaxed CNV tolerance

We then output these cell counts and pore volume fractions as new
items in the INFOITER file to enable more targeted analysis of the
non-linear convergence behaviour.

To this end, introduce a type alias CnvPvSplit in the
ConvergenceReport and aggregate these across the MPI ranks before we
collect them in the ConvergenceReport objects.

While here, also reduce the amount of repeated logic in
gatherConvergenceReport.cpp through a few local lambdas.
2024-08-27 10:50:06 +02:00
Kjetil Olsen Lye
f97389d1b5
Merge pull request #5554 from multitalentloes/refactor_cuistl
refactor cuistl to gpuistl
2024-08-26 09:55:13 +02:00
Markus Blatt
7ebb6e7034
Merge pull request #5547 from lisajulia/feature/action-parsing-strictness
Add action-parsing-strictness command line parameter
2024-08-26 09:06:25 +02:00