Lisa Julia Nebel
4801a17703
Add comments at the spots where we multiply with D^(-1) - we actually can do this on all processes
2024-11-22 15:16:04 +01:00
Lisa Julia Nebel
627b9c98ba
Add communication when multiplying with the matrix duneB_ in recoverSolutionWell
...
Here we go from cells to segments, and everything concerning segments is stored globally.
2024-11-22 15:16:04 +01:00
Lisa Julia Nebel
81a5da8b63
Add communication when multiplying with the matrix duneB_ in apply
...
Here we go from cells to segments, and everything concerning segments is stored globally.
2024-11-22 15:16:04 +01:00
Lisa Julia Nebel
6784db2d1d
Add tests for parallel multisegment wells
2024-11-22 15:16:04 +01:00
Lisa Julia Nebel
6bdb80126f
Add parameter enableDistributedWells to the well state an when set to true, do not throw when initalizing distributed multi-segment wells in WellState.cpp
2024-11-22 15:16:00 +01:00
Lisa Julia Nebel
debb7cb036
Add option of comparing only the SMRY file to run-parallel-regressionTest.sh via the flag -s
2024-11-22 08:26:27 +01:00
Lisa Julia Nebel
a6d27c18a1
Move 'assemblePerforationEq' to a separate loop (over the segments), communicate the matrix D and the residual afterwards and add the rest that does not need communication afterwards
2024-11-21 16:13:15 +01:00
Lisa Julia Nebel
4b08c37cf0
Add communication in scaleSegmentRatesWithWellRates of MultisegmentWellGeneric to scale the perf_phaserate_scaled with the correct value
...
Add communication in scale
2024-11-21 16:13:01 +01:00
Lisa Julia Nebel
36f21e2e63
Add comments about the need for communication to the assemble functions of MultisegmentWellAssemble
2024-11-21 16:13:01 +01:00
Lisa Julia Nebel
0ce761c5e6
Make wellhelpers::sumDistributedWellEntries work with other matrices than Dune::DynamicMatrix and add specialization for FieldMatrix<double,2,2>, FieldMatrix<double,3,3> and FieldMatrix<double,4,4> as well as FieldMatrix<float,2,2>, FieldMatrix<float,3,3> and FieldMatrix<float,4,4>
...
Make wellhelpers::sumDistributedWellEntries work with other matrices than Dune::DynamicMatrix and add specialization for FieldMatrix<double,2,2>, FieldMatrix<double,3,3> and FieldMatrix<double,4,4> as well as FieldMatrix<float,2,2>, FieldMatrix<float,3,3> and FieldMatrix<float,4,4>
2024-11-21 16:12:59 +01:00
Lisa Julia Nebel
4c59df5594
Add function sumDistributed to MultisegmentWellEquations
...
This functions sums all contributions of a multisegment well for the diagonal of D and the residual.
2024-11-21 16:12:59 +01:00
Lisa Julia Nebel
6ce3f7a385
Add pw_info_ to the MultisegmentWellEquations and use it to fill the matrices B and C correctly
2024-11-21 16:12:59 +01:00
Lisa Julia Nebel
97953887e4
Take the correct perf depth when calculating the depth differences in the the init function of the MultisegmentWell class
2024-11-21 16:12:50 +01:00
Lisa Julia Nebel
8860c598fe
Throw an error if the status "well convergence" in iterateWellEqWithSwitching of MultisegmentWell is not the same across all processes
2024-11-21 16:10:55 +01:00
Lisa Julia Nebel
dd895654d7
Other communication measures taken from StandardWells
2024-11-21 16:10:55 +01:00
Lisa Julia Nebel
8a01b89ec9
Store all (global) perforations depths and differences in perforation_depth_diffs_ and well.perfDepth()
2024-11-21 16:10:55 +01:00
Lisa Julia Nebel
dadfe3a634
Use local_perf_index instead of perf index where applicable
...
The vectors that contain info about the perforations of a
multisegment well are *local* vectors, yet the way we access them
by looping over the perforations is global, so when accessing a value
we need to get the local perforation index (and with this also check
if the perforation actually resides on the own process)
2024-11-21 16:10:49 +01:00
Lisa Julia Nebel
cde38bc23f
Rename cell_idx to perf, since it is the perforation index actually
2024-11-21 16:09:15 +01:00
Lisa Julia Nebel
449847da9e
Give the parallel well info object to the MultisegmentWellEval class as well
2024-11-21 16:09:15 +01:00
Lisa Julia Nebel
655f4011c7
Calculate the segment rates of the well state correctly, i.e. sum when the well is distributed over multiple processes
2024-11-21 16:09:10 +01:00
Lisa Julia Nebel
9f4fdd09fa
Throw an error if the status "lastStepFailed" in prepareStep of BlackoilModel is not the same across all processes
2024-11-21 15:01:46 +01:00
Lisa Julia Nebel
7573ce2e41
Add globalToLocal and localToGlobal functions to the ParallelWellInfo class
2024-11-21 15:01:43 +01:00
Lisa Julia Nebel
5032a37283
Merge pull request #5649 from aritorto/levelsCartMappALU
...
Separate non-DUNE methods in LevelCartesianIndexMapper<AluGrid>
2024-10-21 15:01:22 +02:00
Lisa Julia Nebel
d02f84afb7
Add action-parsing-strictness
2024-08-20 10:50:56 +02:00
Lisa Julia Nebel
f59fb57d4b
Fix two tests for opening new well connections in an ACTIONX with the keyword COMPDAT
2024-08-16 10:16:04 +02:00
Lisa Julia Nebel
fb2fc75d17
Fix typo, use 2 processes for testing parallel runs with COMPDAT in ACTIONX and use linear-soler=ilu0
2024-08-14 13:01:46 +02:00
Lisa Julia Nebel
87a46d7b01
Fix NLDD solver for parallel runs with the COMPDAT keyword inside an ACTIONX
2024-08-14 08:31:37 +02:00
Lisa Julia Nebel
7c8173d5a8
Add failing test to show error from connections that are openend in an ACTIONX via the keyword COMPDAT when using the NLDD solver for parallel runs
2024-08-14 08:17:57 +02:00
Lisa Julia Nebel
f6a06f2639
Change the type of the argument possibleFutureConnections from a pointer to a const reference
2024-08-08 09:19:32 +02:00
Lisa Julia Nebel
9a97a8d658
Make test on one process pass by taking the possible future connections into account when creating the sparsity pattern of the jacobian and when creating the partitions for the solver
2024-08-06 16:07:01 +02:00
Lisa Julia Nebel
f17ad653ec
Add failing test to show error from connections that are openend in an ACTIONX via the keyword COMPDAT when using the NLDD solver for sequential runs
2024-08-06 16:06:33 +02:00
Lisa Julia Nebel
8cd53ecea7
Change type of possibleFutureConnections to std::unordered_map<std::string, std::set<int>>
...
Now it contains the global ids of the perforated cells for each well instead of the coordinates ijk
2024-08-05 19:31:54 +02:00
Lisa Julia Nebel
efb18d0027
Add possible future connections to the grid methods that handle the well connections
2024-07-29 09:59:52 +02:00
Lisa Julia Nebel
018e49522b
Only notify opm-python-documentation when the file docstrings_simulators.json gets changed on master, not for a PR
2024-07-29 08:41:29 +02:00
Lisa Julia Nebel
13e3cd590c
Fix typos and test the automatic deployment to opm-python-documentation
2024-07-25 19:34:17 +02:00
Lisa Julia Nebel
f89be66ddd
Add test to compare two runs with COMPDAT
...
Two data files get compared: one with ACTIONX and one with the same commands but without ACTIONX.
For sequential runs, they produce the same output, but for parallel runs they don't, because the when the COMPDAT keyword is used in an ACTIONX, well connections get created there that are not known to the grid partitioner.
2024-07-25 16:26:20 +02:00
Lisa Julia Nebel
3d8c1a11b7
Add option to compare two parallel runs
2024-07-25 16:26:20 +02:00
Lisa Julia Nebel
371fbdfc03
Include <boost/version.hpp> before the macro BOOST_VERSION is checked
2024-07-16 17:39:32 +02:00
Lisa Julia Nebel
653cb28bc2
Add the metis partitioner as a command line option as well
2024-07-16 17:39:28 +02:00
Lisa Julia Nebel
c92bad8cfe
Change asserts to BOOST_REQUIRE_* in test_tasklets_failure
2024-07-15 14:56:26 +02:00
Lisa Julia Nebel
c78a629528
Fix indentation
2024-07-15 14:52:47 +02:00
Lisa Julia Nebel
0a70296eb9
Change pointer to tasklet runners to smart pointer and add comment about why they are created on the heap
2024-07-15 14:51:52 +02:00
Lisa Julia Nebel
c73a51650f
Change lock mechanism to std::lock_guard
2024-07-15 14:22:28 +02:00
Lisa Julia Nebel
e2126ae817
Use the failure flag of the tasklet runner to detect a failure while writing output and throw an error if that happens
2024-07-15 08:51:25 +02:00
Lisa Julia Nebel
4d0179cffc
Implement a more polling-based interface for the tasklets failure mechanism
2024-07-12 15:12:41 +02:00
Lisa Julia Nebel
70e5749a97
Change workflow: do not build documentation here but at opm-python-documentation
...
And notify opm-python-documentation when docstrings_simulators.json changes
2024-07-10 18:03:00 +02:00
Lisa Julia Nebel
42d79ebb97
Delete almost everything of the documentation here, this will be done in a separate repository opm-python-documentation
...
Keep only the file docstrings.json (renamed to docstrings_simulators.json)
2024-07-10 18:02:41 +02:00
Lisa Julia Nebel
b4ee039f07
Remove UNIFOUT keyword from python test data file SPE1CASE1b/SPE1CASE1.DATA file as well
...
... just in case
2024-07-09 17:27:50 +02:00
Lisa Julia Nebel
e9d3d81ae2
Remove UNIFOUT keyword from python test data file SPE1CASE1a/SPE1CASE1.DATA
...
With this keyword, the SPE1CASE1.UNRST file could not be read in correctly at some point, until I've added a check in opm-models that checks this, this went unnoticed probably.
2024-07-09 17:27:43 +02:00
Lisa Julia Nebel
fa3392fb7d
Use generate_docstring_hpp.py of opm-common and delete the one here
2024-07-09 13:52:01 +02:00
Lisa Julia Nebel
f86623a70c
Add test for failing tasklets
2024-07-09 09:44:13 +02:00
Lisa Julia Nebel
92a8ef1c4b
Add an atomic flag to TaskletRunner
...
This flag is shared between the threads, if any thread fails, this is set and before the new threads get dispatched or run, this flag is checked.
In case it is set, the program aborts.
2024-07-08 20:58:02 +02:00
Lisa Julia Nebel
ecf7bd1e52
Test for skipping the ghost entries using Jacobi preconditioner
2024-06-07 14:40:58 +02:00
Lisa Julia Nebel
969ec035ec
Add pyaction/PYACTION_GRUPTREE_INSERT_KW.DATA to pyactionComparisons.cmake so it is compared with actionx/ACTIONX_GRUPTREE.DATA
2024-05-27 09:38:38 +02:00
Lisa Julia Nebel
a316264dba
Add pyaction/PYACTION_WTEST_INSERT_KW.DATA to pyactionComparisons.cmake so it is compared with actionx/ACTIONX_WTEST.DATA
2024-05-27 09:36:31 +02:00
Lisa Julia Nebel
e803a3ae51
Add pyaction/PYACTION_GCONSUMP_INSERT_KW.DATA to pyactionComparisons.cmake so it is compared with actionx/ACTIONX_GCONSUMP.DATA
2024-05-17 10:49:09 +02:00
Lisa Julia Nebel
cc21b16bb4
Add pyaction/PYACTION_WSEGVALV_INSERT_KW.DATA to pyactionComparisons.cmake so it is compared with actionx/ACTIONX_WSEGVALV.DATA
2024-05-17 09:44:12 +02:00
Lisa Julia Nebel
52b54b1549
Version bump to 2024.10-pre
2024-04-25 12:59:19 +02:00
Lisa Julia Nebel
ef77d8afd9
Add test for NEXT keyword (and WELTARG) as python comparison tests
2024-04-16 19:19:00 +02:00
Lisa Julia Nebel
fb985298b2
Add tests that compare runs using the ACTIONX keyword to those that use the PYACTION keyword
2024-04-03 16:05:48 +02:00
Lisa Julia Nebel
6f7cc94da2
Add script to compare the summary files of two different simulator runs
2024-04-03 16:05:44 +02:00
Lisa Julia Nebel
7077cfb35c
Indentation for previous commit
2024-02-08 16:08:55 +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
Lisa Julia Nebel
77067c064f
Change copyright owner of test_nonnc.cpp to Equinor ASA
2024-02-02 13:15:12 +01:00
Lisa Julia Nebel
ca4c9dbe39
Add NONNC regression test
2024-02-02 13:15:05 +01:00
Lisa Julia Nebel
631409ec2c
Add test for NONNC keyword
2024-02-01 13:57:49 +01:00
Lisa Julia Nebel
a8efd896b7
Move functions isId, isIdReverse and directionalIsId to the namespace Opm::details
2024-02-01 13:57:49 +01:00
Lisa Julia Nebel
cc64576a79
Change function removeSmallNonCartesianTransmissibilities_ to removeNonCartesianTransmissibilities_(bool removeAll)
2024-01-29 18:46:59 +01:00
Lisa Julia Nebel
e346315fa2
Remove NONNC from the UnsopportedFlowKeywordList
2024-01-29 18:46:59 +01:00
Lisa Julia Nebel
6dfa9b1b76
Add comment on trailing return type with decltype that is used for detecting the signature of the coarsen function of the Dune::Amg::IndicesCoarsener
2024-01-26 14:29:19 +01:00
Lisa Julia Nebel
74608147c0
Add comment on trailing return type with decltype that is used for detecting the existence of setUseFixedOrder member function
2024-01-26 14:29:15 +01:00
Lisa Julia Nebel
5b50a4801f
Construct the matrices in the AMG hierarchy (created in the twolevelmethod) with deterministic indices if possible.
...
The function 'coarsen' for the coarser level is called with the respective flag if it is defined. Then the matrices in the AMG hierarchy are constructed with deterministic indices.
If it is not defined yet, it is called without the flag and the matrices in the AMG hierarchy are constructed with non-deterministic indices.
2024-01-26 13:51:41 +01:00
Lisa Julia Nebel
5d8fefca33
Add comment on trailing return type with decltype that is used for detecting existence of setUseFixedOrder member function
2024-01-25 16:04:41 +01:00
Lisa Julia Nebel
b99252e2b8
Construct the matrices in the AMG hierarchy with deterministic indices if possible.
...
The function 'setUseFixedOrder' is called if it is defined and the matrices in the AMG hierarchy are constructed with deterministic indices.
If its not defined yet, it is not called and the matrices in the AMG hierarchy are constructed with non-deterministic indices.
2024-01-25 11:32:51 +01:00
Lisa Julia Nebel
60b0a33bd4
Construct the matrices in the AMG hierarchy (created in the PreconditionerFactory) with deterministic indices if possible.
...
The function 'setUseFixedOrder' is called if it is defined and the matrices in the AMG hierarchy are constructed with deterministic indices.
If it is not defined yet, it is not called and the matrices in the AMG hierarchy are constructed with non-deterministic indices.
2024-01-25 11:32:09 +01:00