Commit Graph

21245 Commits

Author SHA1 Message Date
Håkon Hægland
f867f9a977 Cleanup after rebase on master
After rebasing on master some changes to AdaptiveTimeStepping.hpp and
AdaptiveTimeStepping_impl.hpp were missed
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
89dc1930ef Mark GRUPSLAV and GRUPMAST as unsupported
Don't remove these entries from the map before reservoir coupling is
completely supported.
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
Arne Morten Kvarving
a9787f23f7 Transmissibility:update: replace operator[] with insert_or_assign() 2025-01-17 16:54:17 +01:00
Arne Morten Kvarving
471eeb1004 cosmetics 2025-01-17 16:54:17 +01:00
Atgeirr Flø Rasmussen
41524e3cca
Merge pull request #5889 from atgeirr/use-createthreaditerators
Use the createThreadIterators() utility.
2025-01-17 13:53:21 +01:00
Markus Blatt
2bbf48c39c
Merge pull request #5856 from michal-toth/bugfix/thread-spawn
Bugfix/thread spawn
2025-01-16 17:12:26 +01:00
Atgeirr Flø Rasmussen
bdf825e785
Merge pull request #5888 from akva2/transmissibility_centroids_cache
Transmissibility: add a cache for centroids and use this in update()
2025-01-16 14:13:50 +01:00
Atgeirr Flø Rasmussen
c06d89b068 Use the createThreadIterators() utility. 2025-01-16 13:56:19 +01:00
Svenn Tveit
db18a9b4ea Fix whitespace after rebase 2025-01-16 13:49:45 +01:00
Svenn Tveit
96ccc8cb96 Accommodate for implemnetation of generic cubic EOS
Which EOS formulation to use is set in the deck and passed to the flash solver and parameter cache
2025-01-16 13:29:41 +01:00