Commit Graph

901 Commits

Author SHA1 Message Date
Bård Skaflestad
3074c0d9fd Enable WTMULT as an Input Operation
Basic support for this keyword was added in commit

    OPM/opm-common@5e3e20c552

and this commit enables running models which use that basic support.
Advanced uses, such as including user-defined arguments for the
multipliers, will still be rejected at the input level.
2024-06-06 09:14:01 +02:00
josh bowden
7fc6cc0430 Other small additions from github comments and removal of compile time logic that checks for ParaView and Python - makes code more readable and alows use of Damaris libraries with differing compiled in backends to be swapped without need for recompiling opm-simulators 2024-06-05 17:26:34 +02:00
Svenn Tveit
912cd45182 Support for CNAMES needed with CO2STORE 2024-06-03 20:40:26 +02:00
Bård Skaflestad
a3a2b7a978 Make SummaryState Objects Aware of Undefined UDQ Value
This PR switches to calling the SummaryState constructor which is
aware of the value of undefined UDQs (OPM/opm-common#4052) directly.

While here, also sort headers, split some long lines, and prefer
initialisation lists to constructor body assignments.
2024-05-29 09:16:56 +02:00
josh bowden
2744614f9c update after pull request comments; addition of OUTPUTDIR variable to Damaris XML configuration 2024-05-17 17:36:18 +02:00
Arne Morten Kvarving
b74b170d5b fixed: build with dune-fem 2.9 2024-05-16 10:58:08 +02:00
josh bowden
3630177e3e added ability to pass through multiple variables to Damaris, with full list still defined in initDamarisXmlFile.cpp ; Also adds ability to limit the variables to be passed through using --damaris-limit-variables=<CSV list> coammand line option 2024-05-14 21:08:47 +02:00
Vegard Kippe
b27c83b2fd Tag 'BASIC=0' as allowed in RPTRST 2024-05-06 15:17:08 +02:00
Vegard Kippe
b68a55a9b9 Add parameter InputSkipMode to parameterise the behvaviour of the SKIP100 and SKIP300 keywords 2024-05-03 09:28:14 +02:00
Bård Skaflestad
f71c652b0a
Merge pull request #5281 from daavid00/immCO2
Summary for immobile free-phase at saturations for which the nonwetting relative permeability equals zero
2024-04-12 17:06:21 +02:00
David Landa Marban
9671792106 summary for immobile free-phase at saturations for which the nonwetting relative permeability equals zero 2024-04-12 15:31:22 +02:00
Bård Skaflestad
b1be391d4c
Merge pull request #5172 from totto82/gconprod7
Implement WELL as group limit action
2024-04-11 17:36:55 +02:00
Bård Skaflestad
10d2f52cd2 Add Procedure for Calculating Basic FIP Region Statistics
This commit implements the parallel version of

    EclipseState::computeFipRegionStatistics()

which computes a FIPRegionStatistics object for the current run's
fluid-in-place regions.  The object construction uses an MPI-aware
reduction process to compute the maximum region IDs across all MPI
ranks.

While here, also unconditionally form the statistics object as part
of the EclWriter's constructor to ensure that all ranks participate
in the process.  The initial approach of constructing the object on
first use is not robust in parallel.  We may however wish to compute
these statistics only when needed.  If so, that will be the subject
of follow-up work.
2024-04-05 17:06:13 +02:00
Arne Morten Kvarving
0161d69660 adjust to removal of EWOMS_GET_PARAM 2024-04-05 14:02:28 +02:00
Tor Harald Sandve
e163f906ee Allow Hysteresis option 4 2024-04-03 15:16:48 +02:00
Tor Harald Sandve
920ad68782 Implement WELL as group limit action
And remove G as unsupported option in WTEST
2024-04-03 08:51:09 +02:00
Bård Skaflestad
785b96f6f3 Distribute SummaryConfig Objects With eclBroadcast
Suggested by [at]akva2.

While here, also switch to using type deduction instead of explicit
template arguments for the eclBroadcast overloads.
2024-03-22 16:53:51 +01:00
Arne Morten Kvarving
2a2a9f5de4 DamarisKeywords: correct paths in comments 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving
76ccaf45ef ebos/damaris_properties.hh: move to opm/simulators/flow 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving
c9b3de16f1 move ebos/femcpgridcompat.hh to opm/simulators/flow 2024-03-08 12:39:48 +01:00
Bård Skaflestad
553d3c811e Permit DATUMR and DATUMRX Keywords in Input File
Following PRs

  * OPM/opm-common#3958
  * OPM/opm-simulators#5240

these keywords are nominally supported, at least for the block
level summary keywords (BPPx).
2024-03-04 13:50:26 +01:00
Vegard Kippe
45e63bd498 Readability improvement 2024-02-22 13:03:54 +01:00
Vegard Kippe
b14df39503 Update schedule object after it is actually created.. 2024-02-21 21:47:51 +01:00
Vegard Kippe
cd1b0f808b Respect low parsing strictness when reprocessing the schedule section after action application. 2024-02-21 17:02:33 +01:00
Bård Skaflestad
d69ba021a9
Merge pull request #5168 from lisajulia/feature/removeFilesOnSimulationStartup
Feature/remove files on simulation startup
2024-02-08 17:30:07 +01:00
Lisa Julia Nebel
e4080a3fe4 Add 'prepareResultOutputDirectory' function in Opm namespace that removes possible old simulation output files from the specified output directory.
This function is called during 'setupLogging' before the actual logging starts.
2024-02-08 16:08:50 +01:00
Arne Morten Kvarving
d4e311f9e0 fixed: display exception message no matter which rank it occurred on 2024-02-07 14:12:54 +01:00
Markus Blatt
b5ad44bdee
Merge pull request #5161 from totto82/coordssys
Ignore Coordsys and print a warning
2024-02-06 16:19:09 +01:00
Arne Morten Kvarving
ed88fa583c add missing include 2024-02-06 10:41:36 +01:00
Tor Harald Sandve
2ed3f924f2 Ignore Coordsys and print a warning 2024-02-06 09:29:10 +01:00
Arne Morten Kvarving
d6f59c1d4b
Merge pull request #5134 from lisajulia/feature/NONNC
Feature/NONNC
2024-02-01 15:13:58 +01:00
Arne Morten Kvarving
aa37225ad1 GridDataOutput: use implicit std::string constructor 2024-01-30 13:19:13 +01:00
Arne Morten Kvarving
a588d4196d GridDataOutput: avoid stringstream member 2024-01-30 13:19:12 +01:00
Arne Morten Kvarving
54c386ae2c GridDataOutput: add const correctness 2024-01-30 13:19:00 +01:00
Arne Morten Kvarving
26d3802ea6 GridDataOutput: remove parantheses in return statements 2024-01-30 13:19:00 +01:00
Arne Morten Kvarving
02fbadb809 GridDataOutput: add translation unit 2024-01-30 13:18:59 +01:00
Bård Skaflestad
008e1c93c3
Merge pull request #5133 from akva2/damarisvar_cleanup
DamarisVar: Some cleanup
2024-01-30 11:01:07 +01:00
Bård Skaflestad
7a4a060594
Merge pull request #5130 from akva2/hdf5serializer_move
HDF5Serializer: move out of ebos folder
2024-01-30 10:50:22 +01:00
Arne Morten Kvarving
498f1b6b50 DamarisVar: remove unused base class DamarisVarBase
no reason to pay the price of virtual dispatch when nothing
use the base class
2024-01-30 09:58:37 +01:00
Arne Morten Kvarving
bee1555d25 DamarisVar::TestType: simplify using a lambda 2024-01-30 09:54:31 +01:00
Arne Morten Kvarving
bdc0790eb8 DamarisVar::returnXMLForVariable: simplify using fmt 2024-01-30 09:36:31 +01:00
Arne Morten Kvarving
033943e42e DamarisXMLAttributes::ReturnXMLForVariable
simplify using lambda and for_each
2024-01-30 09:34:00 +01:00
Arne Morten Kvarving
cfd5af89b0 DamarisVar: avoid stringstream member 2024-01-30 09:25:18 +01:00
Arne Morten Kvarving
3f842cd67f DamarisVar: add translation unit 2024-01-30 09:02:20 +01:00
Arne Morten Kvarving
4f76bd0972 DamarisVar: make TestType private 2024-01-30 09:01:25 +01:00
Arne Morten Kvarving
125431f326 DamarisVar: remove paranthesis is return statements
not consistent with code style
2024-01-30 09:01:25 +01:00
Arne Morten Kvarving
aa2af11016 DamarisVar: make accessors const 2024-01-30 08:58:32 +01:00
Arne Morten Kvarving
8ad5e3a974 DamarisVar: mark virtual method overrides as such 2024-01-30 08:32:23 +01:00
Arne Morten Kvarving
3024379bed DamarisVar: remove void in parameter lists
not consistent with the code style
2024-01-30 08:26:20 +01:00
Arne Morten Kvarving
3849febe99 DamarisVar: pass parameters by reference 2024-01-30 08:20:04 +01:00
Arne Morten Kvarving
3d1b4796fd DamarisVar: remove empty string assignment
strings are properly empty initialized
2024-01-30 08:15:32 +01:00
Lisa Julia Nebel
e346315fa2 Remove NONNC from the UnsopportedFlowKeywordList 2024-01-29 18:46:59 +01:00
Arne Morten Kvarving
99b4aae148 Damaris: avoid signed/unsigned comparison warnings
while at it use std::size_t
2024-01-29 14:34:31 +01:00
Arne Morten Kvarving
800422bd17 HDF5Serializer: add translation unit 2024-01-29 10:00:48 +01:00
Arne Morten Kvarving
96a3a6d45a changed: move hdf5serializer to opm/simulators/utils/HDF5Serializer.hpp
does not interact with typetag system
2024-01-29 09:42:49 +01:00
Arne Morten Kvarving
98c704c1c3 changed: move ebos/eclmpiserializer.hh to opm/simulators/utils/MPISerializer.hpp
it does not use the typetag system
2024-01-23 10:51:32 +01:00
Arne Morten Kvarving
ec9c704def cosmetics and header cleanups in damaris classes 2024-01-10 14:16:02 +01:00
Arne Morten Kvarving
ed28d7c9ef changed: move damaris command line properties to separate file
to avoid pulling in the whole writer in DamarisKeywords.hpp
2024-01-10 14:16:02 +01:00
Arne Morten Kvarving
240e0dd04f fixed: add header guard to DamarisOutputModule.hpp 2024-01-10 14:16:02 +01:00
Markus Blatt
0c01a3ac50 Mark keywords SKIP, SKIP100, SKIP300, and ENDSKIP as supported.
Follow up to OPM/opm-common#3817 which implements the support for
these keywords.
2024-01-02 11:06:33 +01:00
Atgeirr Flø Rasmussen
01b76e2658 Order variables the same as in constructor init list. 2023-12-15 14:23:55 +01:00
Atgeirr Flø Rasmussen
1dbd971710
Merge pull request #4889 from jcbowden/damariswriter-for-sim-fields-v5
Geometric mesh data added for Damaris in-situ visualisation
2023-12-15 10:18:00 +01:00
Josh Bowden
4db49a3785 Reformat using clag-format with default OPM format guide 2023-12-14 17:30:21 +01:00
Josh Bowden
8094504018 Jenkins build error issue fix for unused typedefs 2023-12-14 12:39:18 +01:00
Josh Bowden
55dc80725f Improved in-line help comments; output MPI cell values to HDF5 only when saving mesh to HDF5; removed timing data 2023-12-14 10:27:05 +01:00
Josh Bowden
e16cd9a3b3 finalise the PR 4889 modifications - added command line option to specifiy the shared memory file name in the <buffer> XML element --damaris-shared-memory-name which will be a randomised string opm-damaris-<random-string> for better multi-simulation behaviour when running more than one simulation on a single node. 2023-12-13 18:14:45 +01:00
Josh Bowden
757a96941a final review changes from PR 4889 and added extra command line argument to output mesh data --damaris-save-mesh-to-hdf 2023-12-13 18:14:37 +01:00
Josh Bowden
9309f5a1bd overhaul of GridDataOutput class to accept a vector type so that raw pointers are not overrun, this has lead to finding a good way to get the size of the data area that is alloacted by the DamarisVar wrapper class for damaris_alloc() 2023-12-13 18:14:06 +01:00
Josh Bowden
54d6db6f35 Update 1 for code after code review of PR 4889 2023-12-13 18:13:55 +01:00
Bård Skaflestad
5c9e86666c Publish Short Region Set Names Only
That way, in-place quantities will go through the short-to-canonical
name translation in FieldProps regardless of their origin--e.g.,
RPTSOL/RPTSCHED or explicit SUMMARY section vectors.
2023-12-11 17:01:40 +01:00
Josh Bowden
0f1d31c88a sets the SHMEM buffer name to be the same as the simulation name, usefull if running multiple simulations on the same machine, so that buffers are not removed by other simulations 2023-12-08 11:00:22 +01:00
Josh Bowden
89fabf132e adding command line option to specify the dask file being used --damaris-dask-file= that will add the file name to the Daamris XML configuration file 2023-12-08 10:59:51 +01:00
Arne Morten Kvarving
d120fe1ebc fixed: grab list of FIP regions from FieldPropsManager
not from SummaryConfig. the latter only holds regions with
summary keywords
2023-12-04 13:24:32 +01:00
Bård Skaflestad
ea3b22480a Enable Loading Parallel NLDD Partition From File
This commit adds support for loading a three-column NLDD
partitioning scheme of the form

    MPI_Rank  Cartesian_Index  NLDD_Domain_ID

from a text file.  In an MPI run it is assumed that the first column
holds integers in the range 0..MPI_Size()-1, and typically that each
such integer is listed at least once.  In a sequential run, the MPI
rank column is ignored.

With this scheme we can load the same partition files that we write,
for increased repeatability and determinism, and we can also
experiment with externally generated NLDD partitions.
2023-11-17 17:39:17 +01:00
Bård Skaflestad
68fe118781 Make Compress/Count Partition Vector Helper Generally Available
This function pair is useful also when loading a partition from
file to ensure that there are no gaps in block numbering.
2023-11-17 09:17:46 +01:00
Bård Skaflestad
ed77c90238 Make Zoltan-Based Domain Partitioning MPI Aware
This commit switches the current implementation of
'partitionCellsZoltan()', i.e., 'partitionCells("zoltan", ...)' into
using the MPI-aware ParallelNLDDPartitioningZoltan utility.  In
doing so we make 'partitionCellsZoltan()' private since its
availability is not guaranteed.  We also slightly reorder the
parameters and switch from passing a "Grid" into passing a
"GridView" as an argument to partitionCells(), and specialise this
function for the known grid views in OPM Flow.

We extract the Zoltan-related parameters out to an Entity-dependent
helper structure and move the complexity of forming this type to a
new helper function, BlackoilModelEbosNldd::partitionCells().
2023-11-15 13:31:41 +01:00
Bård Skaflestad
27aaa28c71 Add Partitioner for Unstructured Connectivity Graph
Invokes Zoltan library and requires MPI.  Client code constructs an
abstract connectivity graph by defining connections/edges through
the 'registerConnection()' member function.  May also impose a
restriction that certain cells/vertices be placed in the same
domain/block in the resulting partition.  Client code must supply a
callback function that defines globally unique cell/vertex/object
IDs, across all MPI ranks, for each vertex in the connectivity
graph.

Member function 'partitionElement()' forms the resulting partition
vector, the size of which is the total number of objects visible to
the local rank-typically the number of cells owned by the rank, and
the number of overlap cells--i.e., the size of the local grid view.
2023-11-15 13:31:41 +01:00
Bård Skaflestad
0b2c396a01
Merge pull request #4961 from vkip/network_restart_use_node_pressures
Use network pressures from restart
2023-11-15 09:46:35 +01:00
Vegard Kippe
194bf9d6af Set SCHEDULE_INVALID_NAME to warning with --parsing-strictness=low 2023-11-10 11:48:18 +01:00
Arne Morten Kvarving
8982c67e79
Merge pull request #4980 from akva2/fipconfig_serialize
add extra instantation for bitset
2023-11-09 14:42:39 +01:00
Arne Morten Kvarving
9b8c6de98e add extra instantation for bitset 2023-11-09 11:02:52 +01:00
Atgeirr Flø Rasmussen
749ea93e24 Add and use OPM_DEFLOG_PROBLEM macro.
This should replace OPM_DEFLOG_THROW in places where the problem
category is more appropriate than the error category.

In this commit, uses of OPM_DEFLOG_THROW have been replaced whenever
the exception class used was NumericalProblem.
2023-11-08 15:16:17 +01:00
Bård Skaflestad
b22f9853db
Merge pull request #4969 from akva2/fbhpdef
add support for FBHPDEF keyword
2023-11-07 16:35:51 +01:00
Markus Blatt
11ac7375a9
Merge pull request #4971 from totto82/compdat_d
Remove warning for unsupported D factor in COMPDAT
2023-11-06 10:06:09 +01:00
Tor Harald Sandve
aa96e8fd6c Remove warning for unsupported D factor in COMPDAT 2023-11-06 09:10:34 +01:00
Arne Morten Kvarving
fb7135a424 remove UDT keywords from unsupported list
UDTDIMS is completely ignored but should not stop the simulator
2023-11-03 10:48:55 +01:00
Arne Morten Kvarving
29c65ef7df mark FBHPDEF keyword as supported 2023-11-03 09:07:14 +01:00
Vegard Kippe
c9cc261891 Use network pressures from restart 2023-10-30 23:26:35 +01:00
Tor Harald Sandve
90e791877c Implement Forchheimer term in wellIndex
Add output of CDFAC

Add effect of compaction on CTFAC
2023-10-23 08:55:21 +02:00
josh bowden
d928078219 fix added for unused parameter when Damaris does not have Python of Paraview compiled in 2023-09-28 19:37:23 +02:00
Bård Skaflestad
85bb525067 Match Region Sets by Unique Prefix
This commit switches the region set tag matching algorithm to using
unique prefixes.  This enables the simulator to recognise that the
region set name

    FIPUNI

should match up with the user defined region set 'FIPUNIT'.  In the
current master sources, the above summary vector would produce a
diagnostic message saying that the region set 'FIPUNI' (without the
final 'T') does not exist.

To this end, we instruct the ParallelEclipseState to always pass the
six character substring beginning with 'FIP' for FIP-like region
arrays and defer to the rank-0 EclipseState/FieldProps mechanism to
match this prefix with its canonical region set.
2023-09-28 17:54:27 +02:00
josh bowden
f72553d049 another string declared within the HAVE_PYTHON_ENABLED code guards 2023-09-28 14:32:20 +02:00
josh bowden
c589a5fa00 Guard for Python and Paraview hid lack of semicolon 2023-09-28 13:32:42 +02:00
josh bowden
7f7f3b06b2 Chane to fix issue with command line argument template
integrating code modification suggested by Arne Morten Kvarving (https://github.com/jcbowden/opm-simulators/pull/1)
2023-09-28 12:58:18 +02:00
josh bowden
4a965fe297 some changes to test for paraview and python scripts 2023-09-28 11:12:26 +02:00
josh bowden
c66f7b4fab tidy up of headers 2023-09-25 22:24:40 +02:00
josh bowden
11a81211bd Corrected simlation name default if not specified on command line;
Default log level changed to info and flush only enabled when debug or trace are enabled;
2023-09-25 21:03:34 +02:00
josh bowden
c7c4bffa7c Refactored the Damaris command line functionality so that commandline arguments are accessed where they are needed in the DamarisKeywords() method 2023-09-24 22:23:31 +02:00
josh bowden
bb38c57b1b Update for support of Damaris mesh based in situ processing
Moved damaris command line parameter accessors to Main.cpp and fixed support for both Python and Paraview Python scripts, as they both cannot be present in the same simulation (seems to be an initialization conflict or double initialization)
2023-09-23 22:24:11 +02:00
josh bowden
8095eb0c48 Geometric mesh data added for in-situ visualisation
added access to DUNE mesh geometry and passing through data to Damaris;
Updated command line so users can specifiy Python or Paraview script names and other paramaters that control Damaris
- Simulation name
- Number of dedicated cores or dedicated nodes
- Shared memory region size
- switch to turn off HDF5 output.
- Damaris logging level
2023-09-22 23:23:29 +02:00