Commit Graph

1340 Commits

Author SHA1 Message Date
Arne Morten Kvarving
6b53f5b4e8 remove unnecessary (empty) dtors 2025-01-21 14:41:18 +01:00
Arne Morten Kvarving
6d964c1370 mark constructors explicit 2025-01-21 14:41:17 +01:00
Markus Blatt
990c3f0248
Merge pull request #5620 from hakonhagland/timestepping2
Reservoir coupling: Implement time stepping
2025-01-21 14:38:24 +01:00
Kai Bao
c1e65aa044
Merge pull request #5886 from svenn-t/general_cubic_eos
Compositional simulations with more cubic EOS formulations
2025-01-21 10:06:01 +01:00
Håkon Hægland
b4192b06c3 Fix rebase problem 2025-01-20 15:28:05 +01:00
Svenn Tveit
b0dcf0feb3 Fix indentation 2025-01-20 14:57:24 +01:00
Bård Skaflestad
2f75635d21
Merge pull request #5892 from lisajulia/feature/pyAction-insert-kw-WELPI-WPIMULT-alternative
Feature/py action insert kw welpi wpimult alternative
2025-01-20 13:14:00 +01:00
Lisa Julia Nebel
f40f67023d Retrieve welpi map for Pyaction calls as well and hand it over to the runPyAction function of the Schedule 2025-01-20 12:45:49 +01:00
Arne Morten Kvarving
5c142d1c4d only do cartesian cell index lookup once 2025-01-20 09:28:11 +01:00
Håkon Hægland
93eda52576 Fix typo 2025-01-17 22:06:22 +01:00
Håkon Hægland
ac7e77bedb Remove duplicate headers 2025-01-17 22:06:22 +01:00
Håkon Hægland
18a03da1a8 Add doxygen comments
Convert comment blocks into doxygen type comments
2025-01-17 22:06:22 +01:00
Håkon Hægland
dfbafd9b23 Clearify that errhandler is a handle
It is safe to free the error handler after MPI_Comm_set_errhandler()
has been called
2025-01-17 22:06:22 +01:00
Håkon Hægland
46406a24d6 Use Dune::MPITraits to determine MPI datatype
Determine size of std::size_t correctly for all platforms using
Dune::MPITraits<std::size_t>::getType()
2025-01-17 22:06:22 +01:00
Håkon Hægland
407424544e Fix typo in Equinor ASA 2025-01-17 22:06:22 +01:00
Håkon Hægland
8da3c203f3 Do not check return values for MPI calls
The custom error handlers for each slave-master communicator will
handle errors in MPI_Recv() and MPI_Send() and eventually call
MPI_Abort(). So there is no need to check return values for these
MPI calls.
2025-01-17 22:06:22 +01:00
Håkon Hægland
afab98a5a4 Clarify how the timestep is selected
Clarify how the master timestep is computed based on the slaves next
report date or the slaves start date.
2025-01-17 22:06:22 +01:00
Håkon Hægland
00be5ed47e Conversion of std::time_t to double
Clarify the limits for conversion of std::time_t to double
2025-01-17 22:06:22 +01:00
Håkon Hægland
879fa72ce8 Eliminate TimePoint class
Make fuzzy comparison between two dates explicit.
2025-01-17 22:06:22 +01:00
Håkon Hægland
5ae50c90e1 Simplify storage of communicators
We don't need unique ptrs for the communicators. These are just simple
integers that can be copied into a std::vector.
2025-01-17 22:06:22 +01:00
Håkon Hægland
402bb85103 Enable building without MPI 2025-01-17 22:06:19 +01:00
Håkon Hægland
943d7fc2ce Enable start at any report step
Enable master and slaves to start at any report step. In the previous
commits, only first report step was supported.
2025-01-17 22:05:12 +01:00
Håkon Hægland
48856f9f46 Timestepping for reservoir coupling
Implement adaptive time stepping for master and slave procesess
when using reservoir coupling. The original adaptive time stepping method
is refactored at the same time.
2025-01-17 22:04:17 +01:00
Håkon Hægland
9ad5b8a7f2 Rebased, and fixed command line parsing
Create one log file for each slave subprocess. Redirect both
stdout and stderr to this file
2025-01-17 22:04:17 +01:00
Håkon Hægland
09aa0be11c Send slave start dates to master 2025-01-17 22:04:17 +01:00
Håkon Hægland
e47c89832d Rebased, and fixed command line parsing
Create one log file for each slave subprocess. Redirect both
stdout and stderr to this file
2025-01-17 22:04:17 +01:00
Håkon Hægland
7dfc25048c Add missing header files 2025-01-17 22:04:17 +01:00
Håkon Hægland
d4855b08e1 Check if MPI is enabled
Exclude the reservoir coupling stuff if MPI is not enabled
2025-01-17 22:04:15 +01:00
Håkon Hægland
864b55f99b Rebased, and fixed command line parsing
Create one log file for each slave subprocess. Redirect both
stdout and stderr to this file
2025-01-17 22:03:13 +01:00
Håkon Hægland
5dfbf50b7d Remove debug code
Remove debug code that was introduced by mistake in the previous commit
2025-01-17 22:01:13 +01:00
Håkon Hægland
ef62ea7a7d Add missing header files 2025-01-17 22:01:13 +01:00
Håkon Hægland
097f951557 Improved comments 2025-01-17 22:01:13 +01:00
Håkon Hægland
dffe282bf0 Redirect slave standard output to a logfile 2025-01-17 22:01:13 +01:00
Håkon Hægland
e58ada1e76 Copy command line parameters from master
Copy command line parameters from master to slave command line. Also
replace data file name in master argv with data file name of the slave.
2025-01-17 22:01:13 +01:00
Håkon Hægland
71d06c5bdb Pass parameter --slave=true to the slaves 2025-01-17 22:01:13 +01:00
Håkon Hægland
ba7c1d589b Open MPI does not support output redirection
Open MPI does not support output redirection for spawned child
processes.
2025-01-17 22:01:13 +01:00
Håkon Hægland
bf5962061a Do not specify program name twice
Do not specify slave program name twice when launching slave process
2025-01-17 22:01:13 +01:00
Håkon Hægland
4fd225c004 Spawn slaves from master 2025-01-17 22:01:11 +01:00
Arne Morten Kvarving
6aef3ee2f1 Transmissibility::update(): use lambdas to reduce code duplication 2025-01-17 16:55:24 +01:00
Arne Morten Kvarving
efae526ae5 Transmissibility::applyMultipliers: use FaceDir::FromIntersectionIndex 2025-01-17 16:55:24 +01:00
Arne Morten Kvarving
2dda16bc71 Transmissibility::applyAllZMultipliers: simplify by passing FaceInfo structs 2025-01-17 16:55:24 +01:00
Arne Morten Kvarving
637bd7a1c4 Transmissibility::applyNtg_: increase readbility, no reason for using a switch 2025-01-17 16:55:24 +01:00
Arne Morten Kvarving
68dfd12a3c Transmissibility::applyNtg_: simplify by passing FaceInfo struct
and make it static
2025-01-17 16:55:24 +01:00
Arne Morten Kvarving
6c292a9d4a Transmissibility::computeFaceProperties: simplify by passing FaceInfo structs 2025-01-17 16:55:24 +01:00
Arne Morten Kvarving
81de485575 Transmissibility: introduce a FaceInfo struct
use this to group variables in ::update()
2025-01-17 16:55:23 +01:00
Arne Morten Kvarving
e10531513a Transmissibility::update: add faceIdxDir lambda function
short loop increases readability
2025-01-17 16:54:59 +01:00
Arne Morten Kvarving
2197a1ea7c Transmissibility::update: extract calculation of harmonic mean to a lambda 2025-01-17 16:54:59 +01:00
Arne Morten Kvarving
50c5369c39 Transmissibility::computeHalfDiffusivity_: use return value instead of out-param
and make it static
2025-01-17 16:54:59 +01:00
Arne Morten Kvarving
9ce9fe49f2 Transmissibility::computeHalfTrans_: use return value instead of out-param
and make it static
2025-01-17 16:54:59 +01:00
Arne Morten Kvarving
3695ea8b0b Transmissibility::update(): use Dune::intersections() range generator 2025-01-17 16:54:58 +01:00